#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<string.h>


//int SpaceCount(char* a)
//{
//    int count = 0;
//    while (*a++ != '\0') { count++; }
//    return count;
//}
//char* replaceSpaces(char* S, int length)
//{
//    int space = SpaceCount(S);
//    printf("%d", space);
//    if (space == 3 * length)
//    {
//        S[0] = '\0';
//        while (length--) { strcat(S, "%20"); }
//    }
//    else
//    {
//        char a[18] = { 0 };
//        strcpy(a, S);
//        S[0] = '\0';
//        const char* flg = " ";
//        int count = 0;
//        for (char* tmp = strtok(a, flg); tmp != NULL && *tmp != '\0'; tmp = strtok(NULL, flg))
//        {
//            int len = strlen(tmp);
//            count += len;
//            if (count > length)
//                break;
//            strcat(S, tmp);
//            if (count >= length)
//                break;
//            strcat(S, "%20");
//            count += 1;
//        }
//    }
//
//    return S;
//}
//char* replaceSpaces(char* S, int length)
//{
//    char* tmp = (char*)malloc(sizeof(char) * 3 * length + 1);
//    int j = 0;
//    for (int i = 0; i < length; i++)
//    {
//        if (S[i] == ' ')
//        {
//            tmp[j++] = '%';
//            tmp[j++] = '2';
//            tmp[j++] = '0';
//        }
//        else
//        {
//            tmp[j++] = S[i];
//        }
//    }
//    tmp[j] = '\0';
//    return tmp;
//}


char* replaceSpaces(char* S, int length) {
    int rear = strlen(S);
    for (int i = length - 1; i >= 0; i--) {
        if (S[i] == ' ') {
            S[--rear] = 0 + '0';
            S[--rear] = 2 + '0';
            S[--rear] = '%';
        }
        else {
            S[--rear] = S[i];
        }
    }
    return S + rear;
}

int main()
{
    char a[] = { "asas ss         " };
    replaceSpaces(a, 7);
	return 0;
}